package com.yc.mybatis.damai.mapper;

import com.yc.mybatis.damai.bean.User;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * Company 源辰信息
 *
 * @author navy
 * @date 2024/7/25
 * Email haijunzhou@hnit.edu.cn
 */
// xml 的 namespace 必须和接口的类路径一致, 才能映射成功
public interface UserMapper {

    // 接口方法映射为select语句的 id
    List<User> selectUser();

    User selectById(int id);

    User selectByEnameAndPwd(String ename, String password);
    User selectByEnameAndPwd1(String ename, String password);
    User selectByEnameAndPwd2(String ename, String password);

    User selectByEnameAndPwd3(@Param("ename")String ename,
                              @Param("password")String password);

    //  使用实体对象传入多个参数, 不需要 @Param 注解, 属性名即参数名
    int insert(User user);


    ////////////////////////////////////////////////
    List<User> selectByObject(User user);

    void update(User user);

    void updateAll(User user);

    List<User> selectByNameAndFlag(@Param("ename") String ename, @Param("flag") int flag);

    List<User> selectIdIn(@Param("ids")List<Integer> ids);

    User selectForState(User user);

    List<User> selectAllWithSort(String sort);

    List<Map<String,Object>> selectBySql(String sql);






















}
